package com.bootdo.common.utils;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.FIELD, ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ExcelField {

	/**
	 * 导出字段名（默认调用当前字段的“get”方法，如指定导出字段为对象，请填写“对象名.对象属性”，例：“area.name”、“office.name”）
	 */
	String value() default "";

	/**
	 * 导出字段标题（需要添加批注请用“**”分隔，标题**批注，仅对导出模板有效）
	 */
	String title();

	/**
	 * 字段类型（0：导出导入；1：仅导出；2：仅导入）
	 */
	int type() default 0;

	/**
	 * 导出字段对齐方式（0：自动；1：靠左；2：居中；3：靠右）
	 */
	int align() default 0;

	/**
	 * 导出字段字段排序（升序）
	 */
	int sort() default 0;

	/**
	 * 字段归属组（根据分组导出导入）
	 */
	int[] groups() default {};
	
	/**
	 * <b>Description:</b><br> 
	 * 映射关系: e.g.
	 * 0:未确认;1:已确认
	 * @return
	 * <b>Author:</b> abeholder
	 */
	public String map() default "";
	
	/**
	 * <b>Description:</b><br> 
	 * 格式化日期，默认 'yyyy-MM-dd HH:mm:ss'
	 * @return
	 * <b>Author:</b> abeholder
	 */
	public String format() default "#yyyy-MM-dd HH:mm:ss";
}